package com.lmabbe.gateway.entity.vo;

import com.lmabbe.common.global.context.metadata.tenant.TenantInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @author lmabbe
 */
@Data
@Accessors(chain = true)
public class SystemConfigVO {

    private List<TenantsVO> tenants;

    /**
     * 租户列表
     *
     * @author liming
     * @date 2022/1/8 11:03 AM
     */
    @Data
    @Accessors(chain = true)
    public static class TenantsVO {

        /**
         * 租户ID
         */
        private Long tenantId;

        /**
         * 租户信息
         *
         * @date 2022/1/8 11:06 AM
         * @author liming
         */
        private TenantInfo tenantInfo;

        /**
         * 租户客户端
         */
        private List<OauthClientVO> clients;


        /**
         * 授权客户端VO
         *
         * @author liming
         * @date 2022/1/8 11:05 AM
         */
        @Data
        @NoArgsConstructor
        @AllArgsConstructor
        public static class OauthClientVO {
            /**
             * 客户端key
             */
            private String clientKey;

            /**
             * 客户端密匙
             */
            private String clientSecret;

        }
    }
}
